/*
 *************************************************************************
 * The contents of this file are subject to the Openbravo  Public  License
 * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
 * Version 1.1  with a permitted attribution clause; you may not  use this
 * file except in compliance with the License. You  may  obtain  a copy of
 * the License at http://www.openbravo.com/legal/license.html
 * Software distributed under the License  is  distributed  on  an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific  language  governing  rights  and  limitations
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
 * All portions are Copyright (C) 2008-2014 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************
*/
package com.mes.manufacture.data;

import com.mes.data.EmesVendor;
import com.mes.plan.data.EmespPlanOrder;
import com.mes.quality.data.EmesqQualityData;
import com.mes.quality.data.EmesqQualityResult;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.openbravo.base.structure.ActiveEnabled;
import org.openbravo.base.structure.BaseOBObject;
import org.openbravo.base.structure.ClientEnabled;
import org.openbravo.base.structure.OrganizationEnabled;
import org.openbravo.base.structure.Traceable;
import org.openbravo.model.ad.access.User;
import org.openbravo.model.ad.system.Client;
import org.openbravo.model.common.enterprise.Organization;
import org.openbravo.model.common.plm.Product;
/**
 * Entity class for entity Emeso_Out_Assist_Order (stored in table Emeso_Out_Assist_Order).
 *
 * NOTE: This class should not be instantiated directly. To instantiate this
 * class the {@link org.openbravo.base.provider.OBProvider} should be used.
 */
public class EmesoOutAssistOrder extends BaseOBObject implements Traceable, ClientEnabled, OrganizationEnabled, ActiveEnabled {
    private static final long serialVersionUID = 1L;
    public static final String TABLE_NAME = "Emeso_Out_Assist_Order";
    public static final String ENTITY_NAME = "Emeso_Out_Assist_Order";
    public static final String PROPERTY_ID = "id";
    public static final String PROPERTY_EMESPPLANORDER = "emespPlanorder";
    public static final String PROPERTY_USER = "user";
    public static final String PROPERTY_PRODUCT = "product";
    public static final String PROPERTY_CODE = "code";
    public static final String PROPERTY_BATCHNO = "batchNo";
    public static final String PROPERTY_SEQNO = "seqNo";
    public static final String PROPERTY_PLANEDDATEFROM = "planedDateFrom";
    public static final String PROPERTY_PLANEDDATETO = "planedDateTo";
    public static final String PROPERTY_QTY = "qty";
    public static final String PROPERTY_PROCESSTIME = "processTime";
    public static final String PROPERTY_DATAPLANED = "dataPlaned";
    public static final String PROPERTY_QTYSTART = "qtyStart";
    public static final String PROPERTY_QTYDONE = "qtyDone";
    public static final String PROPERTY_FINISH = "finish";
    public static final String PROPERTY_PLANDATEFROM = "planDateFrom";
    public static final String PROPERTY_PLANDATETO = "planDateTo";
    public static final String PROPERTY_JOBSTATUS = "jobStatus";
    public static final String PROPERTY_CLIENT = "client";
    public static final String PROPERTY_ORGANIZATION = "organization";
    public static final String PROPERTY_ACTIVE = "active";
    public static final String PROPERTY_CREATIONDATE = "creationDate";
    public static final String PROPERTY_CREATEDBY = "createdBy";
    public static final String PROPERTY_UPDATED = "updated";
    public static final String PROPERTY_UPDATEDBY = "updatedBy";
    public static final String PROPERTY_BUTTON = "button";
    public static final String PROPERTY_EMESVENDOR = "emesVendor";
    public static final String PROPERTY_STATUS = "status";
    public static final String PROPERTY_CHECKBUTTON = "checkButton";
    public static final String PROPERTY_REAPPRAISAL = "reappraisal";
    public static final String PROPERTY_PLANCODE = "planCode";
    public static final String PROPERTY_PARENT = "parent";
    public static final String PROPERTY_STATE = "state";
    public static final String PROPERTY_COMPANY = "company";
    public static final String PROPERTY_TOEXAMINEBUTTON = "toexamineButton";
    public static final String PROPERTY_MATERIALSCIENCE = "materialScience";
    public static final String PROPERTY_TOTALWEIGHT = "totalWeight";
    public static final String PROPERTY_EMESOMANUORDER = "emesoManuorder";
    public static final String PROPERTY_CANCELBUTTON = "cancelButton";
    public static final String PROPERTY_EMESQQUALITYDATALIST = "emesqQualityDataList";
    public static final String PROPERTY_EMESQQUALITYRESULTLIST = "emesqQualityResultList";

    public EmesoOutAssistOrder() {
        setDefaultValue(PROPERTY_QTY, (long) 1);
        setDefaultValue(PROPERTY_FINISH, false);
        setDefaultValue(PROPERTY_JOBSTATUS, "CREATE");
        setDefaultValue(PROPERTY_ACTIVE, true);
        setDefaultValue(PROPERTY_CREATIONDATE, new Date());
        setDefaultValue(PROPERTY_UPDATED, new Date());
        setDefaultValue(PROPERTY_BUTTON, false);
        setDefaultValue(PROPERTY_CHECKBUTTON, false);
        setDefaultValue(PROPERTY_REAPPRAISAL, false);
        setDefaultValue(PROPERTY_TOEXAMINEBUTTON, false);
        setDefaultValue(PROPERTY_CANCELBUTTON, false);
        setDefaultValue(PROPERTY_EMESQQUALITYDATALIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESQQUALITYRESULTLIST, new ArrayList<Object>());
    }

    @Override
    public String getEntityName() {
        return ENTITY_NAME;
    }

    public String getId() {
        return (String) get(PROPERTY_ID);
    }

    public void setId(String id) {
        set(PROPERTY_ID, id);
    }

    public EmespPlanOrder getEmespPlanorder() {
        return (EmespPlanOrder) get(PROPERTY_EMESPPLANORDER);
    }

    public void setEmespPlanorder(EmespPlanOrder emespPlanorder) {
        set(PROPERTY_EMESPPLANORDER, emespPlanorder);
    }

    public User getUser() {
        return (User) get(PROPERTY_USER);
    }

    public void setUser(User user) {
        set(PROPERTY_USER, user);
    }

    public Product getProduct() {
        return (Product) get(PROPERTY_PRODUCT);
    }

    public void setProduct(Product product) {
        set(PROPERTY_PRODUCT, product);
    }

    public String getCode() {
        return (String) get(PROPERTY_CODE);
    }

    public void setCode(String code) {
        set(PROPERTY_CODE, code);
    }

    public String getBatchNo() {
        return (String) get(PROPERTY_BATCHNO);
    }

    public void setBatchNo(String batchNo) {
        set(PROPERTY_BATCHNO, batchNo);
    }

    public String getSeqNo() {
        return (String) get(PROPERTY_SEQNO);
    }

    public void setSeqNo(String seqNo) {
        set(PROPERTY_SEQNO, seqNo);
    }

    public Date getPlanedDateFrom() {
        return (Date) get(PROPERTY_PLANEDDATEFROM);
    }

    public void setPlanedDateFrom(Date planedDateFrom) {
        set(PROPERTY_PLANEDDATEFROM, planedDateFrom);
    }

    public Date getPlanedDateTo() {
        return (Date) get(PROPERTY_PLANEDDATETO);
    }

    public void setPlanedDateTo(Date planedDateTo) {
        set(PROPERTY_PLANEDDATETO, planedDateTo);
    }

    public Long getQty() {
        return (Long) get(PROPERTY_QTY);
    }

    public void setQty(Long qty) {
        set(PROPERTY_QTY, qty);
    }

    public Date getProcessTime() {
        return (Date) get(PROPERTY_PROCESSTIME);
    }

    public void setProcessTime(Date processTime) {
        set(PROPERTY_PROCESSTIME, processTime);
    }

    public Date getDataPlaned() {
        return (Date) get(PROPERTY_DATAPLANED);
    }

    public void setDataPlaned(Date dataPlaned) {
        set(PROPERTY_DATAPLANED, dataPlaned);
    }

    public Long getQtyStart() {
        return (Long) get(PROPERTY_QTYSTART);
    }

    public void setQtyStart(Long qtyStart) {
        set(PROPERTY_QTYSTART, qtyStart);
    }

    public Long getQtyDone() {
        return (Long) get(PROPERTY_QTYDONE);
    }

    public void setQtyDone(Long qtyDone) {
        set(PROPERTY_QTYDONE, qtyDone);
    }

    public Boolean isFinish() {
        return (Boolean) get(PROPERTY_FINISH);
    }

    public void setFinish(Boolean finish) {
        set(PROPERTY_FINISH, finish);
    }

    public Date getPlanDateFrom() {
        return (Date) get(PROPERTY_PLANDATEFROM);
    }

    public void setPlanDateFrom(Date planDateFrom) {
        set(PROPERTY_PLANDATEFROM, planDateFrom);
    }

    public Date getPlanDateTo() {
        return (Date) get(PROPERTY_PLANDATETO);
    }

    public void setPlanDateTo(Date planDateTo) {
        set(PROPERTY_PLANDATETO, planDateTo);
    }

    public String getJobStatus() {
        return (String) get(PROPERTY_JOBSTATUS);
    }

    public void setJobStatus(String jobStatus) {
        set(PROPERTY_JOBSTATUS, jobStatus);
    }

    public Client getClient() {
        return (Client) get(PROPERTY_CLIENT);
    }

    public void setClient(Client client) {
        set(PROPERTY_CLIENT, client);
    }

    public Organization getOrganization() {
        return (Organization) get(PROPERTY_ORGANIZATION);
    }

    public void setOrganization(Organization organization) {
        set(PROPERTY_ORGANIZATION, organization);
    }

    public Boolean isActive() {
        return (Boolean) get(PROPERTY_ACTIVE);
    }

    public void setActive(Boolean active) {
        set(PROPERTY_ACTIVE, active);
    }

    public Date getCreationDate() {
        return (Date) get(PROPERTY_CREATIONDATE);
    }

    public void setCreationDate(Date creationDate) {
        set(PROPERTY_CREATIONDATE, creationDate);
    }

    public User getCreatedBy() {
        return (User) get(PROPERTY_CREATEDBY);
    }

    public void setCreatedBy(User createdBy) {
        set(PROPERTY_CREATEDBY, createdBy);
    }

    public Date getUpdated() {
        return (Date) get(PROPERTY_UPDATED);
    }

    public void setUpdated(Date updated) {
        set(PROPERTY_UPDATED, updated);
    }

    public User getUpdatedBy() {
        return (User) get(PROPERTY_UPDATEDBY);
    }

    public void setUpdatedBy(User updatedBy) {
        set(PROPERTY_UPDATEDBY, updatedBy);
    }

    public Boolean isButton() {
        return (Boolean) get(PROPERTY_BUTTON);
    }

    public void setButton(Boolean button) {
        set(PROPERTY_BUTTON, button);
    }

    public EmesVendor getEmesVendor() {
        return (EmesVendor) get(PROPERTY_EMESVENDOR);
    }

    public void setEmesVendor(EmesVendor emesVendor) {
        set(PROPERTY_EMESVENDOR, emesVendor);
    }

    public String getStatus() {
        return (String) get(PROPERTY_STATUS);
    }

    public void setStatus(String status) {
        set(PROPERTY_STATUS, status);
    }

    public Boolean isCheckButton() {
        return (Boolean) get(PROPERTY_CHECKBUTTON);
    }

    public void setCheckButton(Boolean checkButton) {
        set(PROPERTY_CHECKBUTTON, checkButton);
    }

    public Boolean isReappraisal() {
        return (Boolean) get(PROPERTY_REAPPRAISAL);
    }

    public void setReappraisal(Boolean reappraisal) {
        set(PROPERTY_REAPPRAISAL, reappraisal);
    }

    public String getPlanCode() {
        return (String) get(PROPERTY_PLANCODE);
    }

    public void setPlanCode(String planCode) {
        set(PROPERTY_PLANCODE, planCode);
    }

    public Product getParent() {
        return (Product) get(PROPERTY_PARENT);
    }

    public void setParent(Product parent) {
        set(PROPERTY_PARENT, parent);
    }

    public String getState() {
        return (String) get(PROPERTY_STATE);
    }

    public void setState(String state) {
        set(PROPERTY_STATE, state);
    }

    public String getCompany() {
        return (String) get(PROPERTY_COMPANY);
    }

    public void setCompany(String company) {
        set(PROPERTY_COMPANY, company);
    }

    public Boolean isToexamineButton() {
        return (Boolean) get(PROPERTY_TOEXAMINEBUTTON);
    }

    public void setToexamineButton(Boolean toexamineButton) {
        set(PROPERTY_TOEXAMINEBUTTON, toexamineButton);
    }

    public String getMaterialScience() {
        return (String) get(PROPERTY_MATERIALSCIENCE);
    }

    public void setMaterialScience(String materialScience) {
        set(PROPERTY_MATERIALSCIENCE, materialScience);
    }

    public Long getTotalWeight() {
        return (Long) get(PROPERTY_TOTALWEIGHT);
    }

    public void setTotalWeight(Long totalWeight) {
        set(PROPERTY_TOTALWEIGHT, totalWeight);
    }

    public EmesoManuOrder getEmesoManuorder() {
        return (EmesoManuOrder) get(PROPERTY_EMESOMANUORDER);
    }

    public void setEmesoManuorder(EmesoManuOrder emesoManuorder) {
        set(PROPERTY_EMESOMANUORDER, emesoManuorder);
    }

    public Boolean isCancelButton() {
        return (Boolean) get(PROPERTY_CANCELBUTTON);
    }

    public void setCancelButton(Boolean cancelButton) {
        set(PROPERTY_CANCELBUTTON, cancelButton);
    }

    @SuppressWarnings("unchecked")
    public List<EmesqQualityData> getEmesqQualityDataList() {
      return (List<EmesqQualityData>) get(PROPERTY_EMESQQUALITYDATALIST);
    }

    public void setEmesqQualityDataList(List<EmesqQualityData> emesqQualityDataList) {
        set(PROPERTY_EMESQQUALITYDATALIST, emesqQualityDataList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesqQualityResult> getEmesqQualityResultList() {
      return (List<EmesqQualityResult>) get(PROPERTY_EMESQQUALITYRESULTLIST);
    }

    public void setEmesqQualityResultList(List<EmesqQualityResult> emesqQualityResultList) {
        set(PROPERTY_EMESQQUALITYRESULTLIST, emesqQualityResultList);
    }

}
